# 函数
# def func():
#     print("hello world")
#     return 1
# func()
# 没有返回值：返回None
# 一个返回值：把值返回给调用者
# 多个返回值：以元组的形式返回
from tkinter.font import names


# 参数
# 必备参数
# def function(name1, name2):
#     print(name1, name2)
# 缺省参数（默认参数）
# def function(a = 10):
#     print(f"a = {a}")
# function()
# function(2)
# 可变参数
# 传入值的数量可改变，可以传入多个也可以不传
# def function(*args):
#     print(args,type(args))
# function()
# function(1)
# function(1, 2)
# 关键字参数
# def function(**kwargs):     #key word args
#     print(kwargs, type(kwargs))     #以字典的方式接收
# function()
# function(age = 20)      #以键值对方式传值
# function(names = "Python", age = 20)
# 作用：可以拓展函数的功能，比如用户注册中的用户名与密码

# 函数嵌套
# def hello():
#     print("hello")
# def goodbye():
#     hello()
#     print("goodbye")
# goodbye()

# 嵌套定义
# 定义和调用是同级的
# def hello():        #外函数
#     print("hello")
#     def goodbye():      #内函数
#         print("goodbye")
#     goodbye()
# hello()